plat: marvell: a80x0: reconfigure CP0 PCIE0 windows
authorMarcin Wojtas <[email protected]>
Tue, 17 Jul 2018 13:26:21 +0000 (15:26 +0200)
committerKonstantin Porotchkin <[email protected]>
Sun, 2 Sep 2018 11:10:47 +0000 (14:10 +0300)
In order to allow the use of PCIe cards such as graphics cards, whose
demands for BAR space are typically much higher than those of network
or SATA/USB cards, reconfigure the I/O windows so we can declare two
MMIO PCI regions: a 512 MB MMIO32 one at 0xc000_0000 and a 4 GB MMIO64
one at 0x8_0000_0000. In addition, this will leave ample room for an
ECAM config space at 0xe000_0000 (up to the ECAM maximum of 256 MB)

For compatibility with older kernels or firmware, leave the original
16 MB window in place as well.

Change-Id: Ia8177194e542078772f90941eced81b231c16887
Signed-off-by: Marcin Wojtas <[email protected]>
Reviewed-by: Kostya Porotchkin <[email protected]>
plat/marvell/a8k/a80x0/board/marvell_plat_config.c

index 4948c9a33ec9ccd9ed793b5348276ca06f4a5354..7901dd225cecd8f83859d04d5b55d2dfb71e13a7 100644 (file)
@@ -86,7 +86,9 @@ struct addr_map_win iob_memory_map_cp0[] = {
        /* PEX2_X1 window */
        {0x00000000f8000000,    0x1000000,      PEX2_TID},
        /* PEX0_X4 window */
-       {0x00000000f6000000,    0x1000000,      PEX0_TID}
+       {0x00000000f6000000,    0x1000000,      PEX0_TID},
+       {0x00000000c0000000,    0x30000000,     PEX0_TID},
+       {0x0000000800000000,    0x100000000,    PEX0_TID},
 };
 
 struct addr_map_win iob_memory_map_cp1[] = {
@@ -130,6 +132,8 @@ struct addr_map_win ccu_memory_map[] = {
        {0x00000000f2000000,    0x4000000,  IO_0_TID}, /* IO window */
 #else
        {0x00000000f2000000,    0xe000000,  IO_0_TID}, /* IO window */
+       {0x00000000c0000000,    0x30000000,  IO_0_TID}, /* IO window */
+       {0x0000000800000000,    0x100000000,  IO_0_TID}, /* IO window */
 #endif
 };